package com.zp.crm.dto.Menu;

import java.util.ArrayList;
import java.util.List;
import com.zp.crm.entity.Menu.MenuEntity;
import com.zp.crm.util.Tree.UiTree;

public class MenuDto {

	
	public String MenuList(List<MenuEntity> list,String html){
		StringBuffer s=new StringBuffer();
		int t=0;
		s.append("<ul>");
		for(MenuEntity m : list){
			if(m.getPid()==0){
				s.append("<li><dl><dt onclick='BolckNoneLi(this)'>"+m.getName()+"</a></dt>");
				for(MenuEntity m1 : list){
					if(m.getId()==m1.getPid()){
						if(m1.getUrl()== null || !m1.getUrl().equals(html)){
							s.append("<dd><a href='"+m1.getUrl()+"'>"+m1.getName()+"</a></dd>");
						}else{
							s.append("<dd><a href='"+m1.getUrl()+"' class='active'>"+m1.getName()+"</a></dd>");
							t++;
						}
					}
				}
				s.append("</dl></li>");
			}
		}
		s.append("</ul>");
		
		if(html.equals("index.html")||html.equals("Personal.html")){
			t++;
		}
		
		if(t==0){
			s=new StringBuffer("403");
		}
		return s.toString();
	}
	
	
	
	
	public List<UiTree> MenuTreeTest(List<MenuEntity> list){
		List<UiTree> listDto=new ArrayList<UiTree>();
		for (MenuEntity m : list) {
			if(m.getPid()==0){
				UiTree dto=new UiTree();
				dto.setId(m.getId());
				dto.setText(m.getName());
				dto.setChildren(getMenuTreeDto(m.getId(),list));
				listDto.add(dto);
			}
		}
		return listDto;
	}
	
	public static List<UiTree> getMenuTreeDto(int pid,List<MenuEntity> list){
		List<UiTree> listDto=new ArrayList<UiTree>();
			for (MenuEntity m : list) {
				if(m.getPid()==pid){
					UiTree dto=new UiTree();
					dto.setId(m.getId());
					dto.setText(m.getName());
					dto.setChildren(getMenuTreeDto(m.getId(),list));
					listDto.add(dto);
				}
			}
		return listDto;
	}




	public List<UiTree> MenuTreeTestCheck(List<MenuEntity> menulist, String roid) {
		List<UiTree> listDto=new ArrayList<UiTree>();
		for (MenuEntity m : menulist) {
			if(m.getPid()==0){
				UiTree dto=new UiTree();
				dto.setId(m.getId());
				dto.setText(m.getName());
				dto.setChildren(getMenuTreeDtoCheck(m.getId(),menulist,roid));
				listDto.add(dto);
			}
		}
		return listDto;
	}
	public static List<UiTree> getMenuTreeDtoCheck(int pid,List<MenuEntity> list, String roid){
		List<UiTree> listDto=new ArrayList<UiTree>();
			for (MenuEntity m : list) {
				if(m.getPid()==pid){
					UiTree dto=new UiTree();
					if(roid!=null){
						if(roid.indexOf(String.valueOf(m.getId()))!=-1){
							dto.setChecked(true);
						}
					}
					dto.setId(m.getId());
					dto.setText(m.getName());
					dto.setChildren(getMenuTreeDto(m.getId(),list));
					listDto.add(dto);
				}
			}
		return listDto;
	}
	
}
